package docker


//容器数据卷

func use(){
	docker run -it -v 主机目录:容器内目录  [和-p端口映射一样]  镜像名 /bin/bash

	docker run -it -v /tmp/home:/home centos /bin/bash

	//实例看doc/docker文档，有操作实例
	双向同步，但绑定映射关系后，容器中新增的文件会投影到宿主机中，同理，宿主机中新增的文件也会投影到容器中
	双向绑定后，当容器被停止后，宿主机的/tmp/home的文件被编辑或新增等操作
	再次使用 docker exec -it 容器id /bin/bash  | docker attach 容器id启动后
	重启容器 先用docker ps -a 查看刚才关闭的容器id
	docker start 容器id
	会自动把宿主机的内容同步到容器中

	docker ps
	docker inspect

	exit

	docker ps -a
	docker start 容器id
	docker attach 容器id

	好处，以后只需要在宿主机本地修改即可，容器会自动同步

	docker run -d -it -p 39001:3306 -v /tmp/mysql/conf:/etc/mysql/conf.d -v /tmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql
	//去https://hub.docker.com/ 官方搜mysql，查看官方文档

	//create database go;

	删除容器
	dokcer rm -f mysql02
	然后在宿主机中创建的data还在


	对卷的操作
	docker volume [可选]
					--help

	数据卷容器
	新建容器
	启动容器1
	docker run -it --name docker01 容器id
	启动容器2，其中继承docker01，docker01被docker02称为父容器，docker01也被称为数据卷容器
	docker run -it --name docker02 --volumes-from docker01 容器id
	启动容器3，也挂载到docker01
	docker run -it --name docker03 --volumes-from docker01 容器id
	创建docker03继承docker01，启动就会发现docker01的数据已经到docker03了
	然后在docekr03的volume01新建一个文件，再去docker01和docker02中的volume02中查看，都已经数据同步了

	现在停止并删除docker01容器，但是在docker02和docker03中vlume的数据还在
	因为docker02/03之间的共享卷是通过【拷贝】概念

	实例：多个mysql实现数据共享
	启动两个mysql，共用一个数据库
	启动mysql01
	docker run -d -it -p 39001:3306 -v /tmp/mysql/conf:/etc/mysql/conf.d -v /tmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql
	启动mysql02
	docker run -d -it -p 39002:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql02 --volumes-from mysql01 mysql
	分别进去mysql01和mysql02
	docker ps -a  得到mysql01和mysql02的容器id
	docekr exec -it mysql01容器id /bin/bash
	docekr exec -it mysql02容器id /bin/bash
	在mysql01中创建数据库mysql01
	mysql -uroot -p
	show databases;
	create database mysql01;
	show databases;
	在mysql02中创建数据库mysql02
	show databases;
	create database mysql02;
	show databases;
	//发现数据库已同步

}

